#ifndef MqttOnMessageCallbackClass
#define MqttOnMessageCallbackClass
#include<string>
#include<memory>
class MqttOnMessageCallback
{
public:
    virtual void onMessage(std::shared_ptr<std::string> topic_ptr,std::shared_ptr<std::vector<char>> payload_ptr) final{
        callback(*topic_ptr.get(),*payload_ptr.get());
        return;
    }
    virtual const inline void callback(std::string &topic,std::vector<char> &message)=0;
};
#endif